###################################
# SConcscript file for dri targets

Import('*')

drienv = env.Clone()

drienv.Replace(CPPPATH = [
    '#src/mesa/drivers/dri/common',
    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
    '#include',
    '#include/GL/internal',
    '#src/mapi',
    '#src/gallium/include',
    '#src/gallium/auxiliary',
    '#src/gallium/drivers',
    '#src/gallium/winsys',
    '#src/mesa',
    '#src/mesa/main',
    '#src/mesa/glapi',
    '#src/mesa/math',
    '#src/mesa/transform',
    '#src/mesa/shader',
    '#src/mesa/swrast',
    '#src/mesa/swrast_setup',
    '#src/egl/main',
    '#src/egl/drivers/dri',
])

driswenv = drienv.Clone()
driswenv.Append(CPPDEFINES = [
    '__NOT_HAVE_DRM_H',
    'HAVE_DLADDR',
])

drienv.PkgUseModules('DRM')

dri_common_utils = drienv.SharedObject(
    target = 'utils.o',
    source = '#src/mesa/drivers/dri/common/utils.c'
)

dri_common_xmlconfig = drienv.SharedObject(
    target = 'xmlconfig.o',
    source = '#src/mesa/drivers/dri/common/xmlconfig.c'
)

dri_common_dri_util = drienv.SharedObject(
    target = 'dri_util.o',
    source = '#src/mesa/drivers/dri/common/dri_util.c'
)

dri_common_drisw_util = driswenv.SharedObject(
    target = 'drisw_util.o',
    source = '#src/mesa/drivers/dri/common/dri_util.c'
)


COMMON_DRI_SW_OBJECTS = [
    dri_common_utils,
    dri_common_xmlconfig,
    dri_common_drisw_util,
]

COMMON_DRI_DRM_OBJECTS = [
    dri_common_utils,
    dri_common_xmlconfig,
    dri_common_dri_util,
]

drienv.AppendUnique(LIBS = [
    'expat',
])

driswenv.AppendUnique(LIBS = [
    'expat',
])

Export([
    'drienv',
    'driswenv',
    'COMMON_DRI_SW_OBJECTS',
    'COMMON_DRI_DRM_OBJECTS',
])
